package com.xueyi.aixihu.service;

import com.xueyi.aixihu.entity.vo.DtAreaOrVillageVo;
import com.xueyi.aixihu.entity.vo.DtFindByAreaVo;
import com.xueyi.aixihu.entity.vo.SelectVo;
import com.xueyi.aixihu.reqeust.DtAddVillageReq;
import com.xueyi.aixihu.reqeust.DtFindByAreaAndVillageReq;
import com.xueyi.aixihu.response.DtFindByAreaResponse;
import com.xueyi.aixihu.response.base.BaseResponse;

import java.util.List;

/**
 * @author yuyu
 * @date : 2022/8/17
 * @Description : 村/行政区管理
 */
public interface DtAreaManageService {

    /**
     *  查询所有村/社区集合
     * @param dtFindByAreaAndVillageReq
     * @return
     */
    public DtFindByAreaResponse findByAreaAndVillage(DtFindByAreaAndVillageReq dtFindByAreaAndVillageReq);


    /**
     *  分开查询村/社区的数量
     * @return
     */
    public BaseResponse<DtAreaOrVillageVo> findByAreaOrVillageCount();

    /**
     * 添加村/社区等
     * @param dtAddVillageReq
     * @return
     */
    public BaseResponse addVillage(DtAddVillageReq dtAddVillageReq);

    /**
     * 查询单条数据
     * @param id
     * @return
     */
    public BaseResponse<DtFindByAreaVo> findByOneArea(Integer id);


    /**
     *  修改状态
     * @param id
     * @param isValid
     * @return
     */
    public BaseResponse updateIsValid(Integer id,Integer isValid);

    /**
     *  查询所有二级父类
     * @return
     */
    public BaseResponse<List<SelectVo>> findByParent();

    /**
     *  修改村镇信息
     * @param dtFindByAreaVo
     * @return
     */
    public BaseResponse updateVillageInformation(DtFindByAreaVo dtFindByAreaVo);



}
